package cn.seecoder.courselearning.service.question;

import cn.seecoder.courselearning.dto.question.QuestionInfoDTO;
import cn.seecoder.courselearning.dto.question.QuestionWithAnalysisDTO;
import cn.seecoder.courselearning.vo.ResultVO;
import cn.seecoder.courselearning.vo.question.QuestionVO;

import java.util.List;

public interface QuestionService {
    /*
    随便找个文件拿来抄一抄
    // 更新订单
    ResultVO<CourseOrderVO> updateCourseOrder(Integer orderId, Integer orderStatus);
    // 根据用户id获取该用户的所有订单
    List<CourseOrderVO> getCourseOrders(Integer uid);
    // 使用优惠券/活动
    ResultVO<Boolean> useCoupon(CourseOrderVO orderVO, Integer couponId);
    // 取消使用优惠券/活动
    ResultVO<Boolean> cancelCoupon(CourseOrderVO orderVO, Integer couponId);


    ResultVO<CourseOrderVO> getCourseOrderById(Integer orderId);
    // 完成付款
    ResultVO<Boolean> payOrder(Integer orderId);
    // 创建订单
    ResultVO<CourseOrderVO> createCourseOrder(Integer courseId, Integer userId);
     */

    //教师创建测试时查询单个题目
    ResultVO<QuestionVO> getQuestion(Integer question_id);

    //查询一个课程下的所有题目
    List<QuestionVO> getQuestionByCourseId(Integer course_id);

    //查询所有题目
    List<QuestionVO> getAllquestion();

    ResultVO<QuestionVO> updateQuestion();

    //ResultVO<QuestionVO> deleteQuestion();

    //创建一个题目
    ResultVO<QuestionVO> createQuestion(QuestionVO question);

    //学生作答时获取题目信息
    ResultVO<QuestionInfoDTO> getQuestionToSolve(Integer question_id);

    //学生查看解析时获取题目信息
    ResultVO<QuestionWithAnalysisDTO> getQuestionWithAnalysis(Integer user_id, Integer test_id, Integer question_id);
}
